#ifndef LIGHTS_H
#define LIGHTS_H
#include "Math/Tuple3.h"
#include "TypeDef.h"

enum ELightType
{
	DIR_LIGHT,
	SPOT_LIGHT,
	POINT_LIGHT
};

class CDirectionalLight
{
public:
	int		LightType;
	Tuple3f Color;
	Tuple3f Dir;
	_HOST_DEVICE_ CDirectionalLight()
	{
		LightType = DIR_LIGHT;
	}
};

class CPointLight
{
public:
	int			LightType;
	float		SphereSize;
	float		LightBound;
	Tuple3f		Color;
	Tuple3f		Position;
	_HOST_DEVICE_ CPointLight()
	{
		LightType = POINT_LIGHT;
	}
};

class CSpotLight
{
public:
	int			LightType;
	float		SphereSize;
	Tuple3f		Color;
	Tuple3f		Position;
	Tuple3f		Dir;
	Tuple2f		CosValue;
	_HOST_DEVICE_ CSpotLight()
	{
		LightType = POINT_LIGHT;
	}
};

#endif